home *** CD-ROM | disk | FTP | other *** search
/ Java Primer Plus / Java Primer Plus (Waite Group Proess)(1996).iso / chapter8 / MyJavaApp.java < prev    next >
Text File  |  1995-12-31  |  2KB  |  77 lines

  1.  
  2.     /* ------------ Start of Code -----------------*/
  3.  
  4.     import java.applet.*;
  5.     import java.awt.*;
  6.  
  7.  
  8.  
  9.     /* ------------ MyJavaApp Class -----------------*/
  10.  
  11.     public class MyJavaApp extends Applet implements Runnable {
  12.  
  13.          aline myline = new aline(300);
  14.          int angle=0;
  15.          int anglemod = 8;
  16.          
  17.          Thread mythread=null;
  18.  
  19.     /* ------------ Thread methods -----------------*/
  20.  
  21.          public void run() {
  22.           while (true) {
  23.             repaint();
  24.             try {
  25.             Thread.sleep(50);
  26.             } catch (java.lang.InterruptedException e) {}
  27.            }
  28.           }
  29.  
  30.  
  31.     /* ------------ Applet Methods -----------------*/
  32.  
  33.          public void start() {
  34.               if (mythread == null) {
  35.                   mythread = new Thread(this);
  36.                     mythread.start();
  37.  
  38.                 }
  39.              }
  40.  
  41.         public void stop() {
  42.          if (mythread != null) {
  43.             mythread.stop();
  44.             mythread=null;
  45.                 }
  46.              }
  47.  
  48.  
  49.          public void init()            // define init method 
  50.            {
  51.             resize(300,300);
  52.             }
  53.  
  54.          public void paint(Graphics g)  // define paint method
  55.            {
  56.             g.setColor(Color.lightGray);        // set color
  57.             g.drawLine(myline.rx[0],myline.ry[0],  // erase line
  58.                   myline.rx[1],myline.ry[1]);
  59.  
  60.             myline.rotate(angle);    // rotate the line then
  61.             angle += anglemod;            // increase the angle
  62.             if (angle>360) angle -= 360;
  63.  
  64.             g.setColor(Color.black);        // set color
  65.             g.drawLine(myline.rx[0],myline.ry[0],  // draw line
  66.                   myline.rx[1],myline.ry[1]);
  67.  
  68.             }
  69.  
  70.     public boolean mouseDown(Event e,int x, int y)
  71.        { anglemod =- anglemod;
  72.          return true;
  73.         }
  74.     
  75.         }
  76.  
  77.